1. Field of the Invention
The embodiments of the invention provide methods, computer program products, etc. for complaint-based service level objectives.
2. Description of the Related Art
A goal of the management software is to maximize the utility of the system—this is based on quality of service (QoS) input from the application writers or analysts, referred to as service level objectives (SLOs). An SLO defines the desired behavior thresholds the application expects from the underlying storage system, namely minimum throughput, maximum latency, minimal time-to-live (TTL) for the data-objects.
The task of defining SLOs for an application is complex and currently predominantly manual. It is difficult to translate application-level goals into resource-level constraints. In the real-world, the problem is solved by defining coarse-grained static classes of service (namely gold, silver, bronze, etc.) for each application, such that there are pre-defined thresholds for resources allocated within each class. The problem is further aggravated in large-scale storage systems which are always full. There is significantly more data than what the system can hold. Large-scale storage systems are also always utilized to the maximum, in contrast to traditional storage systems that have a low utilization at off-peak hours. Further, large-scale storage systems have data-driven access patterns. Hence, they are constantly changing and quite dynamic for humans to keep a track of.
In summary, it is generally difficult to predict application requirements upfront, translate them to resource-level constraints in an efficient fashion (instead of gross over-provisioning), and evolve these requirements for rapid variations in application access characteristics.